Ustawienia

Sys.setlocale("LC_CTYPE","pl_PL")
set.seed(92)
library(dplyr)
library(ggplot2)
library(plotly)
library(knitr)
library(VIM)
library(lattice)
library(mice)
library(reshape2)

Wstęp

herrings <-read.csv("sledzie.csv", na.strings = "?")

Brakujące dane

Na żadnym atrybucie nie brakuje więcej niż 5% wartości, brak podstaw do odrzucenia czy ponownego pomiaru na którymkolwiek atrybucie.

percentageMissing <- function(x){sum(is.na(x))/length(x)*100}
kable(t(apply(herrings,2,percentageMissing)))
X length cfin1 cfin2 chel1 chel2 lcop1 lcop2 fbar recr cumf totaln sst sal xmonth nao
0 0 3.006732 2.921152 2.957286 2.959188 3.143661 3.02575 0 0 0 0 3.012438 0 0 0

Brakujące wartości występują na siedmiu atrybutach. Rozkład losowy. Zdecydowaną większość stanowią wiersze w której brakuje tylko jednej wartości.

aggr(herrings, col=c('green', 'red'), numbers=TRUE, sortVars=TRUE, labels=names(herrings), bars=TRUE, prop=FALSE, combined=TRUE, only.miss=TRUE, ylabs="Kombinacje brakujących wartości")

## 
##  Variables sorted by number of missings: 
##  Variable Count
##     lcop1  1653
##     lcop2  1591
##       sst  1584
##     cfin1  1581
##     chel2  1556
##     chel1  1555
##     cfin2  1536
##         X     0
##    length     0
##      fbar     0
##      recr     0
##      cumf     0
##    totaln     0
##       sal     0
##    xmonth     0
##       nao     0

Imputujemy wartości przy użyciu pakietu MICE. Wykresy gęstości, oryginalne dane na niebiesko, wstawione na czerwono. Okazuje się, że w większości przypadków brakujące wartości pochodziły z wąskiego zakresu => brak wartości nie był przypadkowy i zaszedł w tylko w określonych warunkach połowu.

=> rozkłady są zbliżone tylko w małych przedziałach

imputedHerrings <- mice(herrings, m=1, method = "mean", seed= 29, print=FALSE)
densityplot(imputedHerrings)

Tworzymy nową kolekcję danych, już uzupełnioną o brakujące wartości. Ostatnim etapem jest nadanie nowych, czytelnych nazw kolumnom.

completeHerrings <- complete(imputedHerrings, 1)
colnames(completeHerrings) <- c("Połów", "Długość", "Calanus finmarchicus gatunek 1", "Calanus finmarchicus gatunek 2", "Calanus helgolandicus gatunek 1", "Calanus helgolandicus gatunek 2","Widłonogi gatunek 1","Widłonogi gatunek 2","Żywy narybek w czasie połowu","Złowione śledzie w skali roku","Żywy narybek w skali roku","Złowione śledzie w czasie połowu", "Temperatura powierzchni oceanu [°C]", "Zasolenie wody [‰]", "Miesiąc", "NAO")

Zbiór danych

Rozkład wartości atrybutów

d <- melt(completeHerrings[-c(1)])
ggplot(d, aes(x=value)) + 
  facet_wrap(~variable, scales = "free", ncol = 2) + 
  geom_density() + 
  ylab("Gęstość wartości") +
  xlab("Zmienna") +
  theme_light()

kable(summary(completeHerrings))
Połów Długość Calanus finmarchicus gatunek 1 Calanus finmarchicus gatunek 2 Calanus helgolandicus gatunek 1 Calanus helgolandicus gatunek 2 Widłonogi gatunek 1 Widłonogi gatunek 2 Żywy narybek w czasie połowu Złowione śledzie w skali roku Żywy narybek w skali roku Złowione śledzie w czasie połowu Temperatura powierzchni oceanu [°C] Zasolenie wody [‰] Miesiąc NAO
Min. : 0 Min. :19.0 Min. : 0.0000 Min. : 0.0000 Min. : 0.000 Min. : 5.238 Min. : 0.3074 Min. : 7.849 Min. :0.0680 Min. : 140515 Min. :0.06833 Min. : 144137 Min. :12.77 Min. :35.40 Min. : 1.000 Min. :-4.89000
1st Qu.:13145 1st Qu.:24.0 1st Qu.: 0.0000 1st Qu.: 0.2778 1st Qu.: 2.469 1st Qu.:13.589 1st Qu.: 2.5479 1st Qu.:17.808 1st Qu.:0.2270 1st Qu.: 360061 1st Qu.:0.14809 1st Qu.: 306068 1st Qu.:13.63 1st Qu.:35.51 1st Qu.: 5.000 1st Qu.:-1.89000
Median :26290 Median :25.5 Median : 0.1333 Median : 0.7012 Median : 6.083 Median :21.435 Median : 7.1229 Median :25.338 Median :0.3320 Median : 421391 Median :0.23191 Median : 539558 Median :13.86 Median :35.51 Median : 8.000 Median : 0.20000
Mean :26290 Mean :25.3 Mean : 0.4458 Mean : 2.0248 Mean :10.006 Mean :21.221 Mean : 12.8108 Mean :28.419 Mean :0.3304 Mean : 520366 Mean :0.22981 Mean : 514973 Mean :13.87 Mean :35.51 Mean : 7.258 Mean :-0.09236
3rd Qu.:39436 3rd Qu.:26.5 3rd Qu.: 0.3603 3rd Qu.: 1.9973 3rd Qu.:11.500 3rd Qu.:27.193 3rd Qu.: 21.2315 3rd Qu.:37.232 3rd Qu.:0.4560 3rd Qu.: 724151 3rd Qu.:0.29803 3rd Qu.: 730351 3rd Qu.:14.16 3rd Qu.:35.52 3rd Qu.: 9.000 3rd Qu.: 1.63000
Max. :52581 Max. :32.5 Max. :37.6667 Max. :19.3958 Max. :75.000 Max. :57.706 Max. :115.5833 Max. :68.736 Max. :0.8490 Max. :1565890 Max. :0.39801 Max. :1015595 Max. :14.73 Max. :35.61 Max. :12.000 Max. : 5.08000